287 research outputs found
Cooperative framework for open real-time systems
Actualmente, os sistemas embebidos estão presentes em toda a parte. Embora grande parte da população
que os utiliza não tenha a noção da sua presença, na realidade, se repentinamente estes sistemas deixassem
de existir, a sociedade iria sentir a sua falta. A sua utilização massiva deve-se ao facto de estarem
practicamente incorporados em quase os todos dispositivos electrónicos de consumo, telecomunicações,
automação industrial e automóvel.
Influenciada por este crescimento, a comunidade científica foi confrontada com novos problemas
distribuídos por vários domínios científicos, dos quais são destacados a gestão da qualidade de serviço e
gestão de recursos - domínio encarregue de resolver problemas relacionados com a alocação óptima de
recursos físicos, tais como rede, memória e CPU.
Existe na literatura um vasto conjunto de modelos que propõem soluções para vários problemas
apresentados no contexto destes domínios científicos. No entanto, não é possível encontrar modelos
que lidem com a gestão de recursos em ambientes de execução cooperativos e abertos com restrições
temporais utilizando coligações entre diferentes nós, de forma a satisfazer os requisitos não funcionais
das aplicações.
Devido ao facto de estes sistemas serem dinâmicos por natureza, apresentam a característica de não
ser possível conhecer, a priori, a quantidade de recursos necessários que uma aplicação irá requerer do
sistema no qual irá ser executada. Este conhecimento só é adquirido aquando da execução da aplicação.
De modo a garantir uma gestão eficiente dos recursos disponíveis, em sistemas que apresentam um
grande dinamismo na execução de tarefas com e sem restrições temporais, é necessário garantir dois
aspectos fundamentais. O primeiro está relacionado com a obtenção de garantias na execução de tarefas
de tempo-real. Estas devem sempre ser executadas dentro da janela temporal requirida. O segundo
aspecto refere a necessidade de garantir que todos os recursos necessários à execução das tarefas são
fornecidos, com o objectivo de manter os níveis de performance quer das aplicações, quer do próprio
sistema.
Tendo em conta os dois aspectos acima mencionados, o projecto CooperatES foi especificado com
o objectivo de permitir a dispositivos com poucos recursos uma execução colectiva de serviços com os
seus vizinhos, de modo a cumprir com as complexas restrições de qualidade de serviço impostas pelos
utilizadores ou pelas aplicações.
Decorrendo no contexto do projecto CooperatES, o trabalho resultante desta tese tem como principal
objectivo avaliar a practicabilidade dos conceitos principais propostos no âmbito do projecto. O trabalho
em causa implicou a escolha e análise de uma plataforma, a análise de requisitos, a implementação e
avaliação de uma framework que permite a execução cooperativa de aplicações e serviços que apresentem requisitos de qualidade de serviço.
Do trabalho desenvolvido resultaram as seguintes contribuições:
Análise das plataformas de código aberto que possam ser utilizadas na implementação dos conceitos
relacionados com o projecto CooperatES;
Critérios que influenciaram a escolha da plataforma Android e um estudo focado na análise da
plataforma sob uma perspectiva de sistemas de tempo-real;
Experiências na implementação dos conceitos do projecto na plataforma Android;
Avaliação da practicabilidade dos conceitos propostos no projecto CooperatES;
Proposta de extensões que permitam incorporar características de sistemas de tempo real abertos
na plataforma Android.Embedded devices are reaching a point where society does not notice its presence; however, if suddenly
taken away, everyone would notice their absence. The new, small, embedded devices used in consumer
electronics, telecommunication, industrial automation, or automotive systems are the reason for their
massive spread.
Influenced by this growth and pervasiveness, the scientific community is faced with new challenges
in several domains. Of these, important ones are the management of the quality of the provided services
and the management of the underlying resources - both interconnected to solve the problem of optimal
allocation of physical resources (namely CPU, memory and network as examples), whilst providing the
best possible quality to users.
Although several models have been presented in literature, a recent proposal handles resource management
by using coalitions of nodes in open real-time cooperative environments, as a solution to guarantee
that the application’s non-functional requirements are met, and to provide the best possible quality
of service to users. This proposal, the CooperatES framework, provides better models and mechanisms to
handle resource management in open real-time systems, allowing resource constrained devices to collectively
execute services with their neighbours, in order to fulfil the complex Quality of Service constraints
imposed by users and applications.
Within the context of the CooperatES framework, the work presented in this thesis evaluates the feasibility
of the implementation of the framework’s Quality of Service concept within current embedded
Java platforms, and proposes a solution and architecture for a specific platform: the Android operating
system. To this purpose, the work provides an evaluation of the suitability of Java solutions for real-time
and embedded systems, an evaluation of the Android platform for open real-time systems, as well as discusses
the required extensions to Android allowing it to be used within real-time system. Furthermore,
this thesis presents a prototype implementation of the CooperatES framework within the Android platform,
which allows determining the suitability of the proposed platform extensions for open real-time
systems applications
221202
This PhD dissertation has resulted in six
publications in which one of the papers received Best Paper
Award at ICESS 2021. All the papers were published in
reputed venues for real-time systems research, i.e., RTSS
2020, RTNS 2021, ICESS 2021, RTCSA 2022, RTSS 2022,
Elsevier’s Journal of System Architecture. Two more papers
are expected to be published soon.Multicore platforms share the hardware resources such as caches, interconnects, and main memory among all the cores. Due to such sharing, tasks running on different cores compete to access these shared resources which can potentially result in shared resource contention. This shared resource contention can increase the execution times of tasks in a non-deterministic manner. Consequently, the shared resource contention is problematic for hard real-time systems, i.e., systems that run tasks with stringent timing requirements. To address this issue, this PhD dissertation builds novel solutions to model and analyze the shared resource contention that can be suffered by tasks executing on a multicore system. The shared resource contention aware schedulability analysis is then derived by integrating the maximum shared resource contention that can be suffered by the tasks.This work was supported by the CISTER Research
Unit (UIDP/UIDB/04234/2020), financed by National Funds
through FCT/MCTES (Portuguese Foundation for Science and
Technology); by project ADACORSA (ECSEL/0010/2019 -
JU grant nr. 876019) financed through National Funds from
FCT and European funds through the EU ECSEL JU. The JU
receives support from the European Union’s Horizon 2020 research and innovation programme and Austria, Sweden, Spain,
Italy, France, Portugal, Ireland, Finland, Slovenia, Poland,
Netherlands, Turkey - Disclaimer: This document reflects only
the author’s view and the Commission is not responsible for
any use that may be made of the information it contains. This
work is also a result of the work developed under project
Aero.Next Portugal (nº C645727867-00000066) and FLY-PT
(grant nº 46079, POCI-01-0247-FEDER-046079), also funded
by FCT under PhD grant 2020.09532.BD.info:eu-repo/semantics/publishedVersio
Evaluating Android OS for embedded real-time systems
Since its official public release, Android has captured
the interest from companies, developers and the general
audience. From that time up to now, this software platform
has been constantly improved either in terms of features or
supported hardware and, at the same time, extended to new
types of devices different from the originally intended mobile
ones. However, there is a feature that has not been explored
yet - its real-time capabilities.
This paper intends to explore this gap and provide a basis
for discussion on the suitability of Android in order to be used
in Open Real-Time environments. By analysing the software
platform, with the main focus on the virtual machine and its
underlying operating system environments, we are able to point
out its current limitations and, therefore, provide a hint on
different perspectives of directions in order to make Android
suitable for these environments.
It is our position that Android may provide a suitable
architecture for real-time embedded systems, but the real-time
community should address its limitations in a joint effort at
all of the platform layers
Online Admission of Parallel Real-Time Tasks
6th Real-Time Scheduling Open Problems Seminar (RTSOPS 2015), Lund, Sweden.No abstract (2 page paper) Parallel real-time tasks can be assigned into a multiprocessor system in many different ways, with regards to the schedulability
of the task system. In the best case a parallel task may be completely parallelized, i.e., when the platform has a number of
processors no smaller than the degree of parallelism of the task and the interference from higher priority tasks does not
compromise its parallel behaviour; in the worst-case (considering the parallelism) the task needs to be completely serialized.
This latter scenario requires the adjustment of the timing properties of the parallel task so that the worst-case parallel behaviour
is considered in the analysis in order to avoid missing any deadlines. Moreover, this scenario is very pessimistic with respect
to the parallel structure of the task. Considering parallelism and real-time, it is important to achieve a good trade-off between
timing guarantees and the parallel execution of tasks so that efficient execution of such tasks may be possibl
Supporting real-time parallel task models with work-stealing
Dynamic parallel scheduling using work-stealing has gained popularity in academia and industry for its good
performance, ease of implementation and theoretical bounds on space and time. Cores treat their own double-ended
queues (deques) as a stack, pushing and popping threads from the bottom, but treat the deque of another randomly
selected busy core as a queue, stealing threads only from the top, whenever they are idle.
However, this standard approach cannot be directly applied to real-time systems, where the importance of parallelising
tasks is increasing due to the limitations of multiprocessor scheduling theory regarding parallelism. Using one deque per
core is obviously a source of priority inversion since high priority tasks may eventually be enqueued after lower priority
tasks, possibly leading to deadline misses as in this case the lower priority tasks are the candidates when a stealing
operation occurs.
Our proposal is to replace the single non-priority deque of work-stealing with ordered per-processor priority deques of
ready threads. The scheduling algorithm starts with a single deque per-core, but unlike traditional work-stealing, the
total number of deques in the system may now exceed the number of processors. Instead of stealing randomly, cores
steal from the highest priority deque
Exploiting a Throttle Mechanism for QEMU
This paper proposes the implementation of a throttle mechanism for QEMU in order to allow the testing of Cyber-Physical Systems via emulation.info:eu-repo/semantics/publishedVersio
Scheduling Parallel Real-Time Tasks in Multiprocessor Platforms
CPS Student Forum Portugal was held as part of the Cyber-Physical Systems Week (CPS Week 2018), 10-13 April, Porto-Portugal.• Computing systems are gradually becoming multiprocessor
• Opportunity for an increase in application performance,
throughput and responsiveness
• Real-time systems may take advantage of platform parallelism to
distribute workload among the cores for simultaneous executioninfo:eu-repo/semantics/publishedVersio
Real-time scheduling of parallel tasks in the Linux Kernel
This paper proposes a global multiprocessor scheduling algorithm
for the Linux kernel that combines the global EDF scheduler with
a priority-aware work-stealing load balancing scheme, enabling parallel
real-time tasks to be executed on more than one processor at a given time
instant. We state that some priority inversion may actually be acceptable,
provided it helps reduce contention, communication, synchronisation
and coordination between parallel threads, while still guaranteeing
the expected system’s predictability. Experimental results demonstrate
the low scheduling overhead of the proposed approach comparatively
to an existing real-time deadline-oriented scheduling class for the Linux
kernel
Declaratório do Humano Eticofágico
Declaratório do Humano Eticofágico fala da ‘comida’ entendida como ação das pessoas e sua relação com o mundo, enquanto força que permite a realização dos atos éticos e morais em uma sociedade
- …